<?php
	
/*
	Definicion de funciones de PHP con MySQL
*/

class Conexion
{
	var $conexion=false;
	var $resultado=null;
	var $fila=null;
	
	function conectar(){
		if(!$this->conexion){
			$this->conexion= mysql_connect(HOST,USER,PASSWORD);
			if($this->conexion==FALSE){
				echo "No se pudo conectar con el servidor<br>";
				mysql_close($this->conexion);
				exit;
			}

            mysql_select_db(BD, $this->conexion);
		}
	}



	function cerrar(){return;
		if($this->conexion){
			mysql_close($this->conexion);
			$this->conexion=false;
		}
	} 
	
	function __construct()
	{
		switch(func_num_args())
		{
			case 0:	$this->conectar();
					break;
					
			case 1:	$this->conectar();
					$this->ejecutar( func_get_arg( 0 ) );
					break;
		}
	}
	function __destruct(){
		$this->cerrar();
	}
	
	function ejecutar($sql)
	{
		$this->resultado= mysql_query($sql, $this->conexion);//mysql_db_query(BD, $sql, $this->conexion);
		if(!$this->resultado){
			echo "<br>No hay resultados!!! con $sql\n<br>".mysql_error();
			unset($this->conexion);
			exit;
		}
		return $this->resultado;
	}
		//ejecutar en enlace
	/*function ejecutare($sql)
	{
		$this->resultado=mysql_query("enlace", $sql, $this->conexion);
		if(!$this->resultado){
			echo "<br>No hay resultados!!! con $sql\n<br>".mysql_error();
			unset($this->conexion);
			exit;
		}
		return $this->resultado;
	}
	
	/*recibe un resultado de una tabla y regresa LOS ATRIBUTOS en un arreglo*/
	function numFilasResultado(){
		return mysql_num_rows($this->resultado);//regresa el numero de columnas */
	}
	
	/*devuelve la celda de una tabla en la fila i y columna j*/
	function resultado($i,$j){
		return mysql_result($this->resultado,$i,$j);//regresa el numero de columnas */
	}
	
	function traerFilaPorNombre()
	{
		$this->fila= mysql_fetch_assoc($this->resultado);
        return $this->fila;
		//return ($this->fila)? true : false;
	}
	function traer()
	{
		$this->fila= mysql_fetch_assoc($this->resultado);
		return ($this->fila)? true : false;
	}
	
	/* Return query result row as an object. */
	//function traer() {
		//$this = @mysql_fetch_object($this->result);
		///return $row;
	//}
	  
	function get($r)
	{
		//echo "[$r =".$this->fila[$r]."]";
		return $this->fila[$r];
	}
	function vacio(){
		return ($this->numFilasResultado() == 0) ? true : false;
	}

	/*function respaldo_LogQuerys($log_sql){
	// esta funcion respalda todas las sentencias SQL que pasen por la funcion ejecutar,
	// siempre y cuando sean diferentes de un SELECT
	$consulta = explode(" ",$log_sql);	
	$sql_low = strtolower($consulta[0]);
	//if($consulta[0]!="SELECT" && $consulta[0]!="select" && $consulta[0]!="Select"){
	if($sql_low!="select"){		
		$conexion=conectar();
		$sucursal_user = $_COOKIE["sucursal_farivi"];
		$result=mysql_db_query(BD,"SELECT CURRENT_DATE AS fecha;", $conexion);		            
		$fecha_hoyA=traerFilaPorNombre($result);
		$fecha_hoy=$fecha_hoyA["fecha"];		
		$result=mysql_db_query(BD,"SELECT CURRENT_TIME as hora;", $conexion);
		$hora_hoyA=traerFilaPorNombre($result);
		$hora_hoy=$hora_hoyA["hora"];
				
		// nuestra consulta log_sql contiene caracteres (') que interfieren con nuestra nueva consulta,
		// asi que haremos que SQL los ignore para insertarlos en la tabla sin problema
		$sql_fix = str_replace("'","\'",$log_sql);
		 	
		$sql = "INSERT INTO log_querys VALUES(NULL,'$sucursal_user','$fecha_hoy','$hora_hoy','$sql_fix');";
		$resultado=mysql_db_query(BD, $sql, $conexion);
		if(!$resultado){
			echo "<br>no hay resultados! con $sql<br>";
			cierraConexion($conexion);
			#exit;
			return FALSE;
		}

		cierraConexion($conexion);	
		return $resultado;	
	}*/


}

?>
